DeployLX Software Protection System

Using Limits to Control the Use of Your Software

Limits are used by DeployLX to control how and when the protected software may be used.

The incredible amount of flexibility provided by DeployLX Licensing is made possible through the use of individual limits. By isolating the code for different validation rules complex licensing schemes can be created with very little code. Additionally separating the validation rules into a separate class makes it easy to implement custom limits to enforce product or company specific rules.

Each limit can contain additional child limits that are all validated as a group. This makes it easy to design licenses that use different logical rules based on the current conditions of the host application. See the Combining Limits later in this topic for details.

Adding Limits to a License

The Easy License Editor adds and configures license limits automatically. The properties of the limits are exposed through easy to use options and tabs.

The Advanced License Editor provides direct access to all 35 of the built in limits as well as any registered custom limits.

To add a limit to the license

The Easy License Editor does not support adding arbitrary limits. Instead you use the options and fields of the various tabs to configure the license and the DeployLX Manager will create and update the required limits automatically.

See the Limits Reference for details about using each of the limits and the properties of the limits.

  1. Select New License | Advanced License Editor from the Home tab of Ribbon in the DeployLX Manager.
  2. Select the license from the list that you want to modify from the license list at the top of the window.
  3. Switch to the Limits tab.
  4. Select any one of the limits from the limit gallery on the License tab of the Ribbon.
  5. Modify the properties of the limit to fit your specific needs.

Combining Limits

Each limit enforces only one, or a small number, of rules on the software. For example the Time limit simply tracks how long the software can be used. The Trial limit only marks the license as a trial and shows a splash screen during validation but does not define any time period for the trial. Instead the two limits are used in combination to define the complete set of rules to enforce on the evaluation version of the product. The Time limit is added as a child limit of the Trial limit so that the evaluation version is limited to a specific amount of time. To also limit the trial to a specific number of uses the Use limit is added to the Trial limit as well.

Complex rule sets can be created by adding limits together in a single license. For instance you might add an Activation limit to tie the license to a specific set of hardware along with an OS limit to restrict the operating system types that the software can be used on.

Using Different Limits for Each Edition

See the Serial Numbers and the Registration Process topic for details on supporting multiple editions.

Each license file can contain one or more SecureLicense instances. Each with its own set of limits. You can use this to enforce different rules for different editions of the product. For example you may want to provide a trial version of the product that is limited to a specific amount of time and a standard version that is not. Or perhaps you want to require standard versions of a product to be hardware locked by adding an Activation limit while the enterprise edition uses Network Licensing to restrict the total number of instances permitted on the network at the same time.

Each edition must have its own unique serial number prefix so that the license can be identified when the software is registered.

Limit State

See the Uninstalling a License topic for details on resetting state during development.

Some limits store state on the client machine in a secure location that cannot be modified by the user. For example the Time limit stores the date when the license was first used so that it can determine when the license has expired. This secure state remains in tact even if the software is uninstalled and the license is deleted. Only a complete reformat of the machine by the user will remove the state.